The maintenance, repair and upgrade of computer systems often requires the addition or deletion of I/O cards. An increasing number of computer systems now support such I/O card hotplug operations, whilst the system is operational. I/O card interconnect standards like the PCI Standard Hot-Plug Controller and Subsystem Specification, revision 1.0, define hand-shake signals and independent power control, enabling card hotplug operations in isolation, without affecting other parts of the computer system. Such hotplug operations for various I/O cards greatly assist in I/O hardware reconfigurations for better utilization of the computer system, and in repairing faulty components ‘online’, i.e. without having to power down the computer system.
I/O card hotplug operations can be initiated either through software tools or through hardware triggers. I/O card interconnect standards, like the PCI specification, have defined a standard for hardware triggered hotplug operations. The PCI specification defines that a hardware triggered hotplug operation (for adding/deleting an I/O card) can be initiated by pressing a push button (referred to in the specification as an ‘attention button’ and known as a ‘doorbell’) associated with the slot in which the I/O card resides. Hardware triggered hotplug operations are carried out with minimum/no interaction between a user and software tools. When hotplug operations are carried out on I/O cards through hardware triggers, a number of problems have been encountered with current software management of these hardware triggered I/O card hotplug operations. For example, multiple simultaneous hardware triggers for different card slots or the same card slot can occur, and these are not always handled well. In the absence of controls on the permitted hotplug operations, accidental/malicious use of hardware triggers can occur, and an I/O card which is essential to the operation of the computer system could be deleted.